home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / tcl / xf2.3-p / xf2 / xf2.3 / additionals / Pie < prev    next >
Encoding:
Text File  |  1993-11-20  |  6.4 KB  |  200 lines

  1. # Program: xf
  2. # Description: handle pie widgets
  3. #
  4. # $Header: Pie[2.3] Wed Mar 10 11:57:29 1993 garfield@garfield frozen $
  5.  
  6. global xfDefaultConf
  7. set xfDefaultConf(pie) 4
  8.  
  9. ##########
  10. # Procedure: XFAdd.Pie
  11. # Description: add a pie
  12. # Arguments: xfW - the widget
  13. #            xfName - a optional name
  14. #            xfType - add or config
  15. # Returns: none
  16. # Sideeffects: none
  17. ##########
  18. proc XFAdd.Pie {xfW xfName xfType} {
  19.   global xfStatus
  20.  
  21.   XFEditSetStatus "Inserting Pie..."
  22.   set xfName [XFMiscGetUniqueName $xfName pie]
  23.   if {"$xfStatus(path)" == "."} {
  24.     if {"$xfType" == "add"} {
  25.       if {[catch "pie .$xfName" xfResult]} {
  26.         XFProcError "$xfResult"
  27.         XFEditSetStatus "Inserting Pie...aborted"
  28.         return
  29.       }
  30.     } {
  31.       if {[catch "pie .$xfName" xfResult]} {
  32.         XFProcError "$xfResult"
  33.         XFEditSetStatus "Inserting Pie...aborted"
  34.         return
  35.       }
  36.     }
  37.  
  38.     XFMiscPositionWidget .$xfName
  39.     XFMiscBindWidgetTree .$xfName
  40.   } {
  41.     if {"$xfType" == "add"} {
  42.       if {[catch "pie $xfStatus(path).$xfName" xfResult]} {
  43.         XFProcError "$xfResult"
  44.         XFEditSetStatus "Inserting Pie...aborted"
  45.         return
  46.       }
  47.     } {
  48.       if {[catch "pie $xfStatus(path).$xfName" xfResult]} {
  49.         XFProcError "$xfResult"
  50.         XFEditSetStatus "Inserting Pie...aborted"
  51.         return
  52.       }
  53.     }
  54.  
  55.     XFMiscPositionWidget $xfStatus(path).$xfName
  56.     XFMiscBindWidgetTree $xfStatus(path).$xfName
  57.   }
  58.  
  59.   incr xfStatus(elementCounter)
  60.   XFEditSetPath $xfStatus(path)
  61.   XFEditSetStatus "Inserting Pie...done"
  62. }
  63.  
  64. ##########
  65. # Procedure: XFConfig.Pie4
  66. # Description: configure a pie
  67. # Arguments: xfW - the widget
  68. #            xfType - config type (add or config)
  69. #            xfClass - the class we configure
  70. #            xfLeader - the leading window
  71. # Returns: none
  72. # Sideeffects: none
  73. ##########
  74. proc XFConfig.Pie4 {xfW xfType xfClass {xfLeader ""}} {
  75.   global xfStatus
  76.  
  77.   if {"$xfType" == "add"} {
  78.     set xfName pie$xfStatus(elementCounter)
  79.   } {
  80.     set xfName [XFMiscPathName $xfW]
  81.   }
  82.   XFEditSetStatus "Calling parameter setting for Pie..."
  83.  
  84.   # build widget structure
  85.   XFTmpltToplevel .xf${xfClass}Config4 400x600 \
  86.     "Pie parameters:[XFMiscPathTail $xfW]" $xfLeader
  87.  
  88.   XFElementInit $xfW .xf${xfClass}Config4 $xfType $xfClass \
  89.     XFPieSetPie4 parameters $xfName 4
  90.   XFElementColor $xfW .xf${xfClass}Config4 $xfType $xfClass bg \
  91.     background Background "Background" XFPieSetPie4
  92.   XFElementBoolean $xfW .xf${xfClass}Config4 $xfType $xfClass explode \
  93.     "Explode" XFPieSetPie4
  94.   XFElementScale $xfW .xf${xfClass}Config4 $xfType $xfClass explodewidth \
  95.     explodewidth Explodewidth "Explode width" "pixels" 250 XFPieSetPie4
  96.   XFElementText $xfW .xf${xfClass}Config4 $xfType $xfClass interval \
  97.     interval Interval "Interval" XFPieSetPie4
  98.   XFElementScale $xfW .xf${xfClass}Config4 $xfType $xfClass keyboxsize \
  99.     keyboxsize Keyboxsize "Keyboxsize" "pixels" 250 XFPieSetPie4
  100.   XFElementText $xfW .xf${xfClass}Config4 $xfType $xfClass keyorder \
  101.     keyorder Keyorder "Keyorder" XFPieSetPie4
  102.   XFElementScale $xfW .xf${xfClass}Config4 $xfType $xfClass origin \
  103.     origin Origin "Origin" "degree" 360 XFPieSetPie4
  104.   XFElementScale $xfW .xf${xfClass}Config4 $xfType $xfClass radius \
  105.     radius Radius "Radius" "pixels" 400 XFPieSetPie4
  106.   XFElementText $xfW .xf${xfClass}Config4 $xfType $xfClass title \
  107.     title Title "Text" XFPieSetPie4
  108.   XFElementColor $xfW .xf${xfClass}Config4 $xfType $xfClass textcolor \
  109.     textcolor Foreground "Text color" XFPieSetPie4
  110.   XFElementCommand $xfW .xf${xfClass}Config4 $xfType
  111.  
  112.   # save current parameter
  113.   XFElementSave $xfW $xfClass {background explode explodewidth interval keyboxsize keyorder origin radius title textcolor command}
  114.  
  115.   # packing
  116.   pack append .xf${xfClass}Config4.params1 \
  117.               .xf${xfClass}Config4.params1.params2 {left fill expand}
  118.   pack append .xf${xfClass}Config4 \
  119.               .xf${xfClass}Config4.pathname {top fill frame center} \
  120.               .xf${xfClass}Config4.leave {bottom fill} \
  121.               .xf${xfClass}Config4.additional {bottom fill} \
  122.               .xf${xfClass}Config4.params1 {top fill expand}
  123.  
  124.   XFBindFormConnect .xf${xfClass}Config4.params1.params2 \
  125.     "XFPieSetPie4 $xfW 0 $xfClass"
  126.  
  127.   XFEditSetStatus "Calling parameter setting for Pie...done"
  128. }
  129.  
  130. ##########
  131. # Procedure: XFSaveSpecial.Pie
  132. # Description: save pie
  133. # Arguments: xfW - the widget
  134. # Returns: none
  135. # Sideeffects: none
  136. ##########
  137. proc XFSaveSpecial.Pie {xfW} {
  138.  
  139.   if {"[$xfW get]" != ""} {
  140.     return "\n  $xfW set [$xfW get]"
  141.   }
  142.   return ""
  143. }
  144.  
  145. ##########
  146. # Procedure: XFPieSetPie4
  147. # Description: set pie parameters
  148. # Arguments: xfW - the widget
  149. #            xfType - the type of setting (1 = set always, 0 = set
  150. #                     only if permanent apply is on)
  151. #            xfClass - the class we configure
  152. #            xfParam1 - ignored parameter
  153. # Returns: none
  154. # Sideeffects: none
  155. ##########
  156. proc XFPieSetPie4 {xfW xfType xfClass {xfParam1 ""}} {
  157.   global xfConf
  158.   global xfMisc
  159.  
  160.   if {$xfType == 0 && !$xfConf(applyParameters)} {
  161.     return
  162.   }
  163.   if {"[info commands $xfW]" == ""} {
  164.     return
  165.   }
  166.   XFMiscSetSymbolicName $xfW \
  167.     [.xf${xfClass}Config4.params1.params2.symname.symname get]
  168.  
  169.   XFMiscSetResource $xfW background \
  170.     [.xf${xfClass}Config4.params1.params2.bg.bg get]
  171.   XFMiscSetResource $xfW command \
  172.     [XFMiscGetText .xf${xfClass}Config4.params1.params2.command.command.command]
  173.   XFMiscSetResource $xfW explode $xfMisc(explode)
  174.   XFMiscSetResource $xfW explodewidth \
  175.     [.xf${xfClass}Config4.params1.params2.explodewidth.explodewidth get]
  176.   if {"[.xf${xfClass}Config4.params1.params2.interval.interval get]" != ""} {
  177.     XFMiscSetResource $xfW interval \
  178.       [.xf${xfClass}Config4.params1.params2.interval.interval get]
  179.   } {
  180.     XFMiscSetResource $xfW interval 0
  181.   }
  182.   XFMiscSetResource $xfW keyboxsize \
  183.     [.xf${xfClass}Config4.params1.params2.keyboxsize.keyboxsize get]
  184.   XFMiscSetResource $xfW keyorder \
  185.     [.xf${xfClass}Config4.params1.params2.keyorder.keyorder get]
  186.   XFMiscSetResource $xfW origin \
  187.     [.xf${xfClass}Config4.params1.params2.origin.origin get]
  188.   XFMiscSetResource $xfW radius \
  189.     [.xf${xfClass}Config4.params1.params2.radius.radius get]
  190.   if {"[.xf${xfClass}Config4.params1.params2.textcolor.textcolor get]" != ""} {
  191.     XFMiscSetResource $xfW textcolor \
  192.       [.xf${xfClass}Config4.params1.params2.textcolor.textcolor get]
  193.   }
  194.   XFMiscSetResource $xfW title \
  195.     [.xf${xfClass}Config4.params1.params2.title.title get]
  196. }
  197.  
  198. # eof
  199.  
  200.